package hcn.protocol.brandnew.zhenliao.chufang;

import hcn.protocol.brandnew.BaseRequest;
import lombok.Data;

import javax.xml.bind.annotation.XmlAccessType;
import javax.xml.bind.annotation.XmlAccessorType;
import javax.xml.bind.annotation.XmlElement;
import javax.xml.bind.annotation.XmlRootElement;


/**
 * 药品信息查询 - ODS_03020002
 *
 * @author enjoyLife
 */
@Data
@XmlRootElement(name = "MsgBody")
@XmlAccessorType(XmlAccessType.FIELD)
public class GetDrugsRequest extends BaseRequest {

    /**
     * 查询参数
     */
    @XmlElement(name = "QueryData")
    private QueryData queryData;

    @Data
    @XmlAccessorType(XmlAccessType.FIELD)
    public static class QueryData {

        /**
         * 就诊医疗机构组织机构代码
         */
        @XmlElement(name = "VisitOrganization")
        private String visitOrganization;
        /**
         * 区域内患者唯一标识
         */
        @XmlElement(name = "MPI")
        private String mpi;
        /**
         * 业务系统患者档案ID
         */
        @XmlElement(name = "SourcePatientId")
        private String sourcePatientId;
        /**
         * 药物类型代码
         */
        @XmlElement(name = "DrugType")
        private String drugType;
        /**
         * 输入码
         */
        @XmlElement(name = "InputCode")
        private String inputCode;
        /**
         * 外延标志
         */
        @XmlElement(name = "EpitaxialSign")
        private Byte epitaxialSign;
        /**
         * 每页条数
         */
        @XmlElement(name = "PageSize")
        private Long pageSize;
        /**
         * 分页页数
         */
        @XmlElement(name = "PageNo")
        private Long pageNo;
        /**
         * 药房编码
         */
        @XmlElement(name = "PharmacyId")
        private String pharmacyId;
    }


    //兼容whis添加入参
    /**
     * 就诊医疗机构组织机构代码
     */
    @XmlElement(name = "VisitOrganization")
    private String visitOrganization;
    /**
     * 区域内患者唯一标识
     */
    @XmlElement(name = "MPI")
    private String mpi;
    /**
     * 业务系统患者档案ID
     */
    @XmlElement(name = "SourcePatientId")
    private String sourcePatientId;
    /**
     * 药物类型代码
     */
    @XmlElement(name = "DrugType")
    private String drugType;
    /**
     * 输入码
     */
    @XmlElement(name = "InputCode")
    private String inputCode;
    /**
     * 外延标志
     */
    @XmlElement(name = "EpitaxialSign")
    private Byte epitaxialSign;
    /**
     * 每页条数
     */
    @XmlElement(name = "PageSize")
    private Long pageSize;
    /**
     * 分页页数
     */
    @XmlElement(name = "PageNo")
    private Long pageNo;
    /**
     * 药房编码
     */
    @XmlElement(name = "PharmacyId")
    private String pharmacyId;

}
